home *** CD-ROM | disk | FTP | other *** search
- <!ENTITY % HTML.Version
- "-//W3C//DTD HTML 3.2//EN"
-
- -- Typical usage:
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
- <html>
- ...
- </html>
- --
- >
-
- <!--================== Deprecated Features Switch =========================-->
-
- <!ENTITY % HTML.Deprecated "INCLUDE">
-
- <!--================== Imported Names =====================================-->
-
- <!ENTITY % Content-Type "CDATA"
- -- meaning a MIME content type, as per RFC1521
- -->
-
- <!ENTITY % HTTP-Method "GET | POST"
- -- as per HTTP specification
- -->
-
- <!ENTITY % URL "CDATA"
- -- The term URL means a CDATA attribute
- whose value is a Uniform Resource Locator,
- See RFC1808 (June 95) and RFC1738 (Dec 94).
- -->
-
- <!-- 3.5 Parameter Entities -->
-
- <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
-
- <!ENTITY % list "UL | OL | DIR | MENU">
-
- <![ %HTML.Deprecated [
- <!ENTITY % preformatted "PRE | XMP | LISTING">
- ]]>
-
- <!ENTITY % preformatted "PRE">
-
- <!--================ Character mnemonic entities ==========================-->
-
- <!ENTITY % ISOlat1 PUBLIC
- "ISO 8879-1986//ENTITIES Added Latin 1//EN//">
- %ISOlat1;
-
- <!--================ Entities for special symbols =========================-->
- <!-- &trade ­ and &cbsp are not widely deployed and so not included here -->
-
- <!ENTITY copy CDATA "©" -- copyright sign -->
- <!ENTITY reg CDATA "®" -- registered sign -->
- <!ENTITY amp CDATA "&" -- ampersand -->
- <!ENTITY gt CDATA ">" -- greater than -->
- <!ENTITY lt CDATA "<" -- less than -->
- <!ENTITY quot CDATA """ -- double quote -->
- <!ENTITY nbsp CDATA " " -- non breaking space -->
-
- <!--=================== Text Markup =======================================-->
-
- <!ENTITY % font "TT | I | B | STRIKE | BIG | SMALL | SUB | SUP">
-
- <!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE">
-
- <!ENTITY % special "A | IMG | APPLET | FONT | BR | SCRIPT | MAP">
-
- <!ENTITY % form "INPUT | SELECT | TEXTAREA">
-
- <!ENTITY % text "#PCDATA | %font | %phrase | %special | %form">
-
- <!ELEMENT (%font|%phrase) - - (%text)*>
-
- <!-- there are also 16 widely known color names although
- the resulting colors are implementation dependent:
-
- aqua, black, blue, fuchsia, gray, green, lime, maroon,
- navy, olive, purple, red, silver, teal, white, and yellow
-
- These colors were originally picked as being the standard
- 16 colors supported with the Windows VGA palette.
- -->
-
- <!ELEMENT FONT - - (%text)* -- local change to font -->
- <!ATTLIST FONT
- size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 --
- color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" --
- >
-
- <!ELEMENT BR - O EMPTY -- forced line break -->
- <!ATTLIST BR
- clear (left|all|right|none) none -- control of text flow --
- >
-
- <!--================== HTML content models ================================-->
- <!--
- HTML has three basic content models:
-
- %text character level elements and text strings
- %flow block-like elements e.g. paragraphs and lists
- %bodytext as (b) plus headers and ADDRESS
- -->
-
- <!ENTITY % block
- "P | %list | %preformatted | DL | DIV | CENTER |
- BLOCKQUOTE | FORM | ISINDEX | HR | TABLE">
-
- <!-- %flow is used for DD and LI -->
-
- <!ENTITY % flow "(%text | %block)*">
-
- <!--=================== Document Body =====================================-->
-
- <!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*">
-
- <!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? -->
-
- <!ENTITY % body-color-attrs "
- bgcolor %color #IMPLIED
- text %color #IMPLIED
- link %color #IMPLIED
- vlink %color #IMPLIED
- alink %color #IMPLIED
- ">
-
- <!ELEMENT BODY O O %body.content>
- <!ATTLIST BODY
- background %URL #IMPLIED -- texture tile for document background --
- %body-color-attrs; -- bgcolor, text, link, vlink, alink --
- >
-
- <!ENTITY % address.content "((%text;) | P)*">
-
- <!ELEMENT ADDRESS - - %address.content>
-
- <!ELEMENT DIV - - %body.content>
- <!ATTLIST DIV
- align (left|center|right) left -- alignment of following text --
- >
-
- <!-- CENTER is a shorthand for DIV with ALIGN=CENTER -->
- <!ELEMENT center - - %body.content>
-
- <!--================== The Anchor Element =================================-->
-
- <!ELEMENT A - - (%text)* -(A)>
- <!ATTLIST A
- name CDATA #IMPLIED -- named link end --
- href %URL #IMPLIED -- URL for linked resource --
- rel CDATA #IMPLIED -- forward link types --
- rev CDATA #IMPLIED -- reverse link types --
- title CDATA #IMPLIED -- advisory title string --
- >
-
- <!--================== Client-side image maps ============================-->
-
- <!-- These can be placed in the same document or grouped in a
- separate document although this isn't yet widely supported -->
-
- <!ENTITY % SHAPE "(rect|circle|poly|default)">
- <!ENTITY % COORDS "CDATA" -- comma separated list of numbers -->
-
- <!ELEMENT MAP - - (AREA)*>
- <!ATTLIST MAP
- name CDATA #IMPLIED
- >
-
- <!ELEMENT AREA - O EMPTY>
- <!ATTLIST AREA
- shape %SHAPE rect
- coords %COORDS #IMPLIED -- always needed except for shape=default --
- href %URL #IMPLIED -- this region acts as hypertext link --
- nohref (nohref) #IMPLIED -- this region has no action --
- alt CDATA #REQUIRED
- >
-
- <!--================== The LINK Element ==================================-->
-
- <!ENTITY % Types "CDATA"
- -- See Internet Draft: draft-ietf-html-relrev-00.txt
- LINK has been part of HTML since the early days
- although few browsers as yet take advantage of it.
-
- Relationship values can be used in principle:
-
- a) for document specific toolbars/menus when used
- with the LINK element in document head:
- b) to link to a separate style sheet (rel=stylesheet)
- c) to make a link to a script (rel=script)
- d) by stylesheets to control how collections of
- html nodes are rendered into printed documents
- e) to make a link to a printable version of this document
- e.g. a postscript or pdf version (rel=print)
- -->
-
- <!ELEMENT LINK - O EMPTY>
- <!ATTLIST LINK
- id ID #IMPLIED -- SGML ID attribute --
- href %URL #IMPLIED -- URL for linked resource --
- rel %Types #IMPLIED -- forward link types --
- rev %Types #IMPLIED -- reverse link types --
- title CDATA #IMPLIED -- advisory title string --
- >
-
- <!--=================== Images ============================================-->
-
- <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
- <!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
-
- <!-- Suggested widths are used for negotiating image size
- with the module responsible for painting the image.
- align=left or right cause image to float to margin
- and for subsequent text to wrap around image -->
-
- <!ENTITY % IAlign "(top|middle|bottom|left|right)">
-
- <!ELEMENT IMG - O EMPTY -- Embedded image -->
- <!ATTLIST IMG
- src %URL #REQUIRED -- URL of image to embed --
- alt CDATA #IMPLIED -- for display in place of image --
- align %IAlign #IMPLIED -- vertical or horizontal alignment --
- height %Pixels #IMPLIED -- suggested height in pixels --
- width %Pixels #IMPLIED -- suggested width in pixels --
- border %Pixels #IMPLIED -- suggested link border width --
- hspace %Pixels #IMPLIED -- suggested horizontal gutter --
- vspace %Pixels #IMPLIED -- suggested vertical gutter --
- usemap %URL #IMPLIED -- use client-side image map --
- ismap (ismap) #IMPLIED -- use server image map --
- >
-
- <!-- USEMAP points to a MAP element which may be in this document
- or an external document, although the latter is not widely supported -->
-
- <!--=================== Java APPLET tag ===================================-->
- <!--
- This tag is supported by all java enabled browsers. Applet resources
- (including their classes) are normally loaded relative to the document
- URL (or <BASE> element if it is defined). The CODEBASE attribute is used
- to change this default behavior. If the CODEBASE attribute is defined then
- it specifies a different location to find applet resources. The value
- can be an absolute URL or a relative URL. The absolute URL is used as is
- without modification and is not effected by the documents <BASE> element.
- When the codebase attribute is relative, then it is relative to the
- document URL (or <BASE> tag if defined). <TEXTFLOW> avoids the problems
- with SGML mixed content. It can always be omitted *except* when the APPLET
- element hasn't any content. White space, comments and PARAM elements
- don't count as content for this purpose. TEXTFLOW was introduced into
- the DTD to satisfy SGML parsers, but is ignored by current Web browsers.
- -->
- <!ELEMENT APPLET - - (PARAM*, TEXTFLOW)>
- <!ATTLIST APPLET
- codebase %URL #IMPLIED -- code base --
- code CDATA #REQUIRED -- class file --
- name CDATA #IMPLIED -- applet name --
- alt CDATA #IMPLIED -- for display in place of applet --
- align %IAlign #IMPLIED -- vertical or horizontal alignment --
- height %Pixels #REQUIRED -- suggested height in pixels --
- width %Pixels #REQUIRED -- suggested width in pixels --
- hspace %Pixels #IMPLIED -- suggested horizontal gutter --
- vspace %Pixels #IMPLIED -- suggested vertical gutter --
- >
-
- <!ELEMENT PARAM - O EMPTY>
- <!ATTLIST PARAM
- name NAME #REQUIRED -- The name of the parameter --
- value CDATA #IMPLIED -- The value of the parameter --
- >
- <!ELEMENT TEXTFLOW O O (%text)* -- needed to bypass mixed content model -->
-
- <!--
- Here is an example:
-
- <applet codebase="applets/NervousText"
- code=NervousText.class
- width=300
- height=50>
- <param name=text value="Java is Cool!">
- <img src=sorry.gif alt="This looks better with Java support">
- </applet>
- -->
-
- <!--=================== Horizontal Rule ===================================-->
-
- <!ELEMENT HR - O EMPTY>
- <!ATTLIST HR
- align (left|right|center) #IMPLIED
- noshade (noshade) #IMPLIED
- size %Pixels #IMPLIED
- width %Length #IMPLIED
- >
- <!--=================== Paragraphs=========================================-->
-
- <!ELEMENT P - O (%text)*>
- <!ATTLIST P
- align (left|center|right) #IMPLIED
- >
-
- <!--=================== Headings ==========================================-->
-
- <!--
- There are six levels of headers from H1 (the most important)
- to H6 (the least important).
- -->
-
- <!ELEMENT ( %heading ) - - (%text;)*>
- <!ATTLIST ( %heading )
- align (left|center|right) #IMPLIED
- >
-
- <!--=================== Preformatted Text =================================-->
-
- <!-- excludes images and changes in font size -->
-
- <!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">
-
- <!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
- <!ATTLIST PRE
- width NUMBER #implied -- is this widely supported? --
- >
-
- <![ %HTML.Deprecated [
-
- <!ENTITY % literal "CDATA"
- -- historical, non-conforming parsing mode where
- the only markup signal is the end tag
- in full
- -->
-
- <!ELEMENT (XMP|LISTING) - - %literal>
- <!ELEMENT PLAINTEXT - O %literal>
-
- ]]>
-
- <!--=================== Block-like Quotes =================================-->
-
- <!ELEMENT BLOCKQUOTE - - %body.content>
-
- <!--=================== Lists =============================================-->
-
- <!--
- HTML 3.2 allows you to control the sequence number for ordered lists.
- You can set the sequence number with the START and VALUE attributes.
- The TYPE attribute may be used to specify the rendering of ordered
- and unordered lists.
- -->
-
- <!-- definition lists - DT for term, DD for its definition -->
-
- <!ELEMENT DL - - (DT|DD)*>
- <!ATTLIST DL
- compact (compact) #IMPLIED -- more compact style --
- >
-
- <!ELEMENT DT - O (%text)*>
- <!ELEMENT DD - O %flow;>
-
- <!-- Ordered lists OL, and unordered lists UL -->
- <!ELEMENT (OL|UL) - - (LI)*>
-
- <!--
- Numbering style
- 1 arablic numbers 1, 2, 3, ...
- a lower alpha a, b, c, ...
- A upper alpha A, B, C, ...
- i lower roman i, ii, iii, ...
- I upper roman I, II, III, ...
-
- The style is applied to the sequence number which by default
- is reset to 1 for the first list item in an ordered list.
- -->
-
- <!ENTITY % OLStyle "CDATA" -- "1|a|A|i|I" but SGML folds case -->
-
- <!ATTLIST OL -- ordered lists --
- type (%OLStyle) #IMPLIED -- numbering style --
- start NUMBER #IMPLIED -- starting sequence number --
- compact (compact) #IMPLIED -- reduced interitem spacing --
- >
-
- <!-- bullet styles -->
-
- <!ENTITY % ULStyle "disc|square|circle">
-
- <!ATTLIST UL -- unordered lists --
- type (%ULStyle) #IMPLIED -- bullet style --
- compact (compact) #IMPLIED -- reduced interitem spacing --
- >
-
- <!ELEMENT (DIR|MENU) - - (LI)* -(%block)>
- <!ATTLIST DIR
- compact (compact) #IMPLIED
- >
- <!ATTLIST MENU
- compact (compact) #IMPLIED
- >
-
- <!-- <DIR> Directory list -->
- <!-- <DIR COMPACT> Compact list style -->
- <!-- <MENU> Menu list -->
- <!-- <MENU COMPACT> Compact list style -->
-
- <!ENTITY % LIStyle "%ULStyle|%OLStyle">
-
- <!ELEMENT LI - O %flow -- list item -->
- <!ATTLIST LI
- type (%LIStyle) #IMPLIED -- list item style --
- value NUMBER #IMPLIED -- reset sequence number --
- >
-
- <!--================ Forms ===============================================-->
-
- <!ELEMENT FORM - - %body.content -(FORM)>
- <!ATTLIST FORM
- action %URL #REQUIRED -- server-side form handler --
- method (%HTTP-Method) GET -- see HTTP specification --
- enctype %Content-Type; "application/x-www-form-urlencoded"
- >
-
- <!ENTITY % InputType
- "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
- | RESET | FILE | HIDDEN | IMAGE)">
-
- <!ELEMENT INPUT - O EMPTY>
- <!ATTLIST INPUT
- type %InputType TEXT -- what kind of widget is needed --
- name CDATA #IMPLIED -- required for all but submit and reset --
- value CDATA #IMPLIED -- required for radio and checkboxes --
- checked (checked) #IMPLIED -- for radio buttons and check boxes --
- size CDATA #IMPLIED -- specific to each type of field --
- maxlength NUMBER #IMPLIED
- src %URL #IMPLIED -- for fields with background images --
- align (top|middle|bottom|left|right) top -- image alignment --
- >
-
- <!ELEMENT SELECT - - (OPTION+)>
- <!ATTLIST SELECT
- name CDATA #REQUIRED
- size NUMBER #IMPLIED
- multiple (multiple) #IMPLIED
- >
-
- <!ELEMENT OPTION - O (#PCDATA)*>
- <!ATTLIST OPTION
- selected (selected) #IMPLIED
- value CDATA #IMPLIED -- defaults to element content --
- >
-
- <!-- Multi-line text input field. -->
-
- <!ELEMENT TEXTAREA - - (#PCDATA)*>
- <!ATTLIST TEXTAREA
- name CDATA #REQUIRED
- rows NUMBER #REQUIRED
- cols NUMBER #REQUIRED
- >
-
- <!--======================= Tables ========================================-->
-
- <!-- Widely deployed subset of the full table standard, see RFC XXXX -->
-
- <!-- horizontal placement of table relative to window -->
- <!ENTITY % Where "(left|center|right)">
-
- <!-- horizontal alignment attributes for cell contents -->
- <!ENTITY % cell.halign
- "align (left|center|right) #IMPLIED"
- >
-
- <!-- vertical alignment attributes for cell contents -->
- <!ENTITY % cell.valign
- "valign (top|middle|bottom|baseline) #IMPLIED"
- >
-
- <!ELEMENT table - - (caption?, tr+)>
- <!ELEMENT tr - O (th|td)*>
- <!ELEMENT (th|td) - O %body.content>
-
- <!ATTLIST table -- table element --
- align %Where; #IMPLIED -- table position relative to window --
- width %Length #IMPLIED -- table width relative to window --
- border %Pixels #IMPLIED -- controls frame width around table --
- cellspacing %Pixels #IMPLIED -- spacing between cells --
- cellpadding %Pixels #IMPLIED -- spacing within cells --
- >
-
- <!ELEMENT CAPTION - - (%text;)* -- table or figure caption -->
- <!ATTLIST CAPTION
- align (top|bottom) #IMPLIED
- >
-
- <!ATTLIST tr -- table row --
- %cell.halign; -- horizontal alignment in cells --
- %cell.valign; -- vertical alignment in cells --
- >
-
- <!ATTLIST (th|td) -- header or data cell --
- nowrap (nowrap) #IMPLIED -- suppress word wrap --
- rowspan NUMBER 1 -- number of rows spanned by cell --
- colspan NUMBER 1 -- number of cols spanned by cell --
- %cell.halign; -- horizontal alignment in cells --
- %cell.valign; -- vertical alignment in cells --
- >
-
- <!--================ Document Head ========================================-->
-
- <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? &
- SCRIPT* & META* & LINK*">
-
- <!ELEMENT HEAD O O (%head.content)>
-
- <!ELEMENT TITLE - - (#PCDATA)*
- -- The TITLE element is not considered part of the flow of text.
- It should be displayed, for example as the page header or
- window title.
- -->
-
- <!ELEMENT ISINDEX - O EMPTY>
- <!ATTLIST ISINDEX
- prompt CDATA #IMPLIED -- prompt message -->
-
- <!--
- The BASE element gives the base URL for dereferencing relative
- URLs, e.g.
-
- <BASE href="http://foo.com/images">
- ...
- <IMG SRC="bar.gif">
-
- The image is deferenced to
-
- http://foo.com/images/bar.gif
-
- In the absence of a BASE element the document URL should be used.
- Note that this is not necessarily the same as the URL used to
- request the document, as the base URL may be overridden by an HTTP
- header accompanying the document.
- -->
-
- <!ELEMENT BASE - O EMPTY>
- <!ATTLIST BASE
- href %URL #REQUIRED
- >
-
- <!ELEMENT META - O EMPTY -- Generic Metainformation -->
- <!ATTLIST META
- http-equiv NAME #IMPLIED -- HTTP response header name --
- name NAME #IMPLIED -- metainformation name --
- content CDATA #REQUIRED -- associated information --
- >
-
- <!ELEMENT STYLE - O (#PCDATA)* -- placeholder for style info -->
- <!ELEMENT SCRIPT - - (#PCDATA)* -- placeholder for script statements -->
-
- <!--================ Document Structure ===================================-->
-
- <!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
-
- <!ELEMENT HTML O O (HEAD, BODY)>
- <!ATTLIST HTML
- %version.attr;
- >
-